package com.sc.nft.service;

import com.sc.nft.dto.CommonPaymentDTO;
import com.sc.nft.entity.UserInfo;
import com.sc.nft.entity.vo.ChannelLimitVO;
import com.sc.nft.entity.vo.PaymentMethodVO;
import com.sc.nft.entity.vo.mall.MallPaymentMethodVO;

import java.util.List;

public interface PaymentMethodService {

    List<PaymentMethodVO> getEffectPayment();

    List<ChannelLimitVO> getChannelLimit();

    List<PaymentMethodVO> getEffectPaymentWeb();

    List<PaymentMethodVO> getPaymentMethodSecond();

    List<PaymentMethodVO> getPaymentMethodsByRecharge(Boolean isH5, UserInfo userInfo);

    /**
     * 获取商城可用的支付方式
     *
     * @return
     */
    List<MallPaymentMethodVO> getMallEffectPayment(Boolean isH5, Long activityId);

    List<MallPaymentMethodVO> getPayMethodsByIsH5(Boolean isH5);

    List<MallPaymentMethodVO> getSecondPayMethods();

    /**
     * 二级权益道具支付方式
     *
     * @return
     */
    List<MallPaymentMethodVO> getSecondEquityPropsPayment();


    /**
     * 获取交易池支付方式
     *
     * @return
     */
    List<PaymentMethodVO> getTradingPoolPayMethod();

    /**
     * 通用支付方式
     *
     * @param dto
     * @return
     */
    List<PaymentMethodVO> commonPaymentMethods(CommonPaymentDTO dto);

}
